import request from '@/config/axios'

// 危害因素 VO
export interface HazardsVO {
  id?: number // id
  type: string // 危害分类
  cnName: string // 中文名
  letter: string // 首字母
  enName: string // 英文名称
  cas: string // cas
  mac: string // mac
  pcTwa: string // pc_twa
  pcStel: string // pc_stel
  totalDust: string // 总尘
  expiratoryDust: string // 呼尘
  healthEffects: string // 临界不良健康效应
  testStandard: string // 检测依据
  airCollectors: string // 空气收集器
  storageLife: string // 保存期限
  measuringEquipment: string // 测量设备
  group: string // 组别
  note: string // 备注
  onlyReco?: boolean // 仅识别标识
}

// 危害因素 API
export const HazardsApi = {
  // 查询危害因素分页
  getHazardsPage: async (params: any) => {
    return await request.get({ url: `/system/hazards/page`, params })
  },

  // 查询危害因素详情
  getHazards: async (id: number) => {
    return await request.get({ url: `/system/hazards/get?id=` + id })
  },

  getByName: async (name: any) => {
    // 对中文名称进行 URL 编码
    const encodedName = encodeURIComponent(name);
    return await request.get({ url: `/system/hazards/getByName?name=${encodedName}` });
  },

  // 新增危害因素
  createHazards: async (data: HazardsVO) => {
    return await request.post({ url: `/system/hazards/create`, data })
  },

  // 修改危害因素
  updateHazards: async (data: HazardsVO) => {
    return await request.put({ url: `/system/hazards/update`, data })
  },
  updateCounts: async (data: any) => {
    return await request.put({ url: `/system/hazards/updateCounts`, data })
  },

  // 删除危害因素
  deleteHazards: async (id: number) => {
    return await request.delete({ url: `/system/hazards/delete?id=` + id })
  },

  // 导出危害因素 Excel
  exportHazards: async (params) => {
    return await request.download({ url: `/system/hazards/export-excel`, params })
  },
}
